package myList_1009.palycard_1011;

// 表示一张牌
public class Card {
    private final int rank;       // 值是 1 到 13，代表 A -> K
    private final String suit;    // 花色 ♥、♣、♦、♠

    public Card(String suit, int rank) {
        this.suit = suit;
        this.rank = rank;
    }

    // 重写其 toString 方法
    @Override
    public String toString() {
        // String.format 返回一个 格式化(format)后的字符串(String)
        // 格式化字符串的使用和 System.out.printf 的方式一样
        return String.format("扑克[%s %s]", this.suit, rankStr());
    }

    private String rankStr() {
        if (rank == 1) {
            return "A";
        } else if (rank >= 2 && rank <= 10) {
            return String.valueOf(rank);
        } else if (rank == 11) {
            return "J";
        } else if (rank == 12) {
            return "Q";
        } else {
            return "K";
        }
    }

    public static void main(String[] args) {
        Card card = new Card("♥", 11);
        System.out.println(card);   // card.toString()
    }
}

